package com.mdd.admin.service;

import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.LegalAreaCityCreateValidate;
import com.mdd.admin.validate.LegalAreaCityUpdateValidate;
import com.mdd.admin.validate.LegalAreaCitySearchValidate;
import com.mdd.admin.vo.LegalAreaCityListedVo;
import com.mdd.admin.vo.LegalAreaCityDetailVo;
import com.mdd.common.core.PageResult;
import io.swagger.models.auth.In;

import java.util.List;

/**
 * 归属地服务接口类
 * @author LikeAdmin
 */
public interface ILegalAreaCityService {

    /**
     * 归属地列表
     *
     * @author LikeAdmin
     * @param pageValidate 分页参数
     * @param searchValidate 搜索参数
     * @return PageResult<LegalAreaCityListedVo>
     */
    PageResult<LegalAreaCityListedVo> list(PageValidate pageValidate, LegalAreaCitySearchValidate searchValidate);

    /**
     * 省份列表
     * 1-省份 2-城市
     */
    List<LegalAreaCityListedVo> allProvinceOrCity(Integer type);

    /**
     * 归属地详情
     *
     * @author LikeAdmin
     * @param id 主键ID
     * @return LegalAreaCityDetailVo
     */
    LegalAreaCityDetailVo detail(Integer id);

    /**
     * 归属地新增
     *
     * @author LikeAdmin
     * @param createValidate 参数
     */
    void add(LegalAreaCityCreateValidate createValidate);

    /**
     * 归属地编辑
     *
     * @author LikeAdmin
     * @param updateValidate 参数
     */
    void edit(LegalAreaCityUpdateValidate updateValidate);

    /**
     * 归属地删除
     *
     * @author LikeAdmin
     * @param id 主键ID
     */
    void del(Integer id);

}
